1. Technical Field
The present invention relates to a method, an apparatus, and a program for controlling external devices, more specifically and preferably, for remotely controlling mixers, sound modules, and the like.
2. Related Art
The music software such as a sequencer can be installed in personal computers and the like, and can transmit a MIDI signal to external sound module apparatuses and the like. An external sound module apparatus synthesizes a musical sound signal based on the MIDI signal. The synthesized musical sound signal is mixed with other audio signals via a mixer and the like. A mixing result is recorded on a recording apparatus. According to this form of operations, it is convenient to enable the personal computer to remotely control various external devices such as the sound module, the mixer, and the like. Various external device manufacturers provide the remote control software to enable personal computers to control these external devices. Such a technology is disclosed for example in Instruction manual for Studio Manager for DM2000 V1.1, YAMAHA CORPORATION, January 2002.
The remote control software secures a separate memory area (called parameter memory) in the memory space of the personal computer. The secured memory area is treated as a memory devoted to an external device to be controlled. The remote control software has a setup window displaying images that simulate a monitor screen and an operation panel on the external device. Using a mouse and the like, a user can operate graphic controls displayed on the operation panel image. Based on the operation result, the software updates corresponding operation parameters in the parameter memory. Of the external device operations, the personal computer emulates operations related to editing of parameter values in the memory. The personal computer and the external device interchanges updated contents of the operation parameters to maintain the consistency of the operation parameters between the computer and the external device.
The remote control software can save the current operation parameters as a “setup file” in a recording medium such as a hard disk. The remote control software can load the previously stored “setup file” to reproduce the past state of the external device. When the above-mentioned music software has the plug-in function, the remote control software for controlling external devices can be installed as plug-ins of the music software. In this case, the music software's menu screen can be used to open a parameter edit screen for each remote control software.
In a first view of the prior art, the above-mentioned technology can allow a personal computer to install many pieces of remote control software that can be plugged in the music software. Consequently, the music software's menu screen lists many pieces of remote control software. In many cases, only a part of these software modules are actually needed for specific situations. If all the plugged-in remote control software modules are displayed for choices, it is inconvenient to select necessary ones. Further, if the same remote control software is used to control a plurality of external devices of the same type, the remote control setting must be changed for each of the devices. It has been impossible to concurrently control the same type of the external devices.
According to the above-mentioned technology, operation parameters need to be individually loaded or saved for each of the remote control software. It has been impossible to load or save operation parameters at once for a plurality of remote control software for the following reason. Let us consider that a particular software is activated to set necessary operation parameters for an external device, and then the remote control software's setup window is closed. Closing the setup window frees the parameter memory for the remote control software.
When a plurality of external devices are used simultaneously, they are provided with operation parameters whose setup states are often interrelated with each other. For example, an output signal of one device is often used as an input signal of another device. A plurality of devices often share resources such as a MIDI port. In these cases, a plurality of setup files applied to these devices must be used as “one set” at the same time. According to the above-mentioned technology, however, users must manage combinations of the setup files. The management has been very complicated.
In a second view of the prior art, when operation parameters are loaded from the setup file to the remote control software, a synchronization operation needs to be performed to secure the consistency between the content of the parameter memory in the personal computer and the content of the other parameter memory provided in the external device. The synchronization operation may be available in two modes. One is to “copy parameters from the external device to the personal computer”. The other is to “copy parameters from the personal computer to the external device”. For this reason, a user needs to initiate the synchronization operation by specifying the synchronization direction for each of remote control software, making user operations complicated.
When synchronization operations are performed for a plurality of remote control software, a certain amount of time is required until all the synchronization operations are complete. During this wait time, it has been difficult for a user to determine whether or not the synchronization operation is complete for each external device, and to grasp how fur the synchronization progresses with respect to an external device for which the synchronization operation is not yet completed. There is a demand that the synchronization operation should be canceled for some of the external devices depending on the synchronization progress. When the synchronization operation is performed for a plurality of external devices, the synchronization may need to be completed for some devices prior to others.
In a third view of the prior art, the personal computer can generally provides a capability of hieratical plug-ins of the software. For example, it is possible to plug a second software in a first software (music software) and further plug a third software in the second software. In such case, there is no direct plug-in relationship between the first and third software. It has been difficult to perform inter-process communication between the first and third software.
When the third software is the remote control software for external devices, for example, the first software such as music application software cannot instruct the third software to display the setup window, conventionally. The remote control software generally controls external devices via a MIDI port. The first software cannot assign a control MIDI port and the like to the remote control software, conventionally. Likewise, the first software cannot be notified of a MIDI port used by the remote control software, conventionally.